
using System;
using System.Runtime.Serialization;

namespace SIOGDE.Silverlight.Entities
{
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]    
    [System.Runtime.Serialization.DataContractAttribute(Name = "UnidadMilitar", Namespace = "http://schemas.datacontract.org/2004/07/SIOGDE.AccesoDatos.Entidades")]
	[System.Runtime.Serialization.KnownTypeAttribute(typeof(SIOGDE.Silverlight.Entities.UnidadMilitar))]
	public partial class UnidadMilitar : object, System.ComponentModel.INotifyPropertyChanged
	{
        #region Private Members
		
       private CategoriaUnidad CategoriaUnidadField;
       private DUA_Region RegionField;
       private Fuerza FuerzaField;
       private TipoUnidad TipoUnidadField;
       private UnidadMilitar UnidadPadreField;
       private int IdField;
       private string GuidField;
       private string CodigoField;
       private string NombreField;
       private string NombreLegalField;
       private string DireccionField;
       private string TelefonosField;
       private string EmailField;
       private string DescripcionField;
       private float? LatitudField;
       private float? LongitudField;
       private bool AceptaEntradasField;
	
		#endregion
		
		#region constructor		
		public UnidadMilitar()
		{
		}
		#endregion
		
		#region Public Properties
		

        [System.Runtime.Serialization.DataMemberAttribute()]
        public CategoriaUnidad CategoriaUnidad 
        {
            get 
            {
                return this.CategoriaUnidadField;
            }
            set 
            {
                    this.CategoriaUnidadField = value;
                    this.RaisePropertyChanged("CategoriaUnidad");
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public DUA_Region Region 
        {
            get 
            {
                return this.RegionField;
            }
            set 
            {
                    this.RegionField = value;
                    this.RaisePropertyChanged("Region");
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public Fuerza Fuerza 
        {
            get 
            {
                return this.FuerzaField;
            }
            set 
            {
                    this.FuerzaField = value;
                    this.RaisePropertyChanged("Fuerza");
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public TipoUnidad TipoUnidad 
        {
            get 
            {
                return this.TipoUnidadField;
            }
            set 
            {
                    this.TipoUnidadField = value;
                    this.RaisePropertyChanged("TipoUnidad");
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public UnidadMilitar UnidadPadre 
        {
            get 
            {
                return this.UnidadPadreField;
            }
            set 
            {
                    this.UnidadPadreField = value;
                    this.RaisePropertyChanged("UnidadPadre");
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public int Id 
        {
            get 
            {
                return this.IdField;
            }
            set 
            {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Guid 
        {
            get 
            {
                return this.GuidField;
            }
            set 
            {
                    this.GuidField = value;
                    this.RaisePropertyChanged("Guid");
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Codigo 
        {
            get 
            {
                return this.CodigoField;
            }
            set 
            {
                    this.CodigoField = value;
                    this.RaisePropertyChanged("Codigo");
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Nombre 
        {
            get 
            {
                return this.NombreField;
            }
            set 
            {
                    this.NombreField = value;
                    this.RaisePropertyChanged("Nombre");
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string NombreLegal 
        {
            get 
            {
                return this.NombreLegalField;
            }
            set 
            {
                    this.NombreLegalField = value;
                    this.RaisePropertyChanged("NombreLegal");
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Direccion 
        {
            get 
            {
                return this.DireccionField;
            }
            set 
            {
                    this.DireccionField = value;
                    this.RaisePropertyChanged("Direccion");
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Telefonos 
        {
            get 
            {
                return this.TelefonosField;
            }
            set 
            {
                    this.TelefonosField = value;
                    this.RaisePropertyChanged("Telefonos");
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Email 
        {
            get 
            {
                return this.EmailField;
            }
            set 
            {
                    this.EmailField = value;
                    this.RaisePropertyChanged("Email");
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Descripcion 
        {
            get 
            {
                return this.DescripcionField;
            }
            set 
            {
                    this.DescripcionField = value;
                    this.RaisePropertyChanged("Descripcion");
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public float? Latitud 
        {
            get 
            {
                return this.LatitudField;
            }
            set 
            {
                    this.LatitudField = value;
                    this.RaisePropertyChanged("Latitud");
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public float? Longitud 
        {
            get 
            {
                return this.LongitudField;
            }
            set 
            {
                    this.LongitudField = value;
                    this.RaisePropertyChanged("Longitud");
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool AceptaEntradas 
        {
            get 
            {
                return this.AceptaEntradasField;
            }
            set 
            {
                    this.AceptaEntradasField = value;
                    this.RaisePropertyChanged("AceptaEntradas");
            }
        }
		
		#endregion 	
		
		public override string ToString()
        {
		    //Aqui pueden cambiar el return a por ejemplo la concatenacion de propiedades			
            return "Entity : "+Id.ToString();
        }
		
		#region INotifyPropertyChanged
		public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        protected void RaisePropertyChanged(string propertyName)
        {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null))
            {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
		#endregion

	}
}

